package com.yckj.day05;

/**
 * 用递归算法实现斐波那契额数列
 */
public class FebonaciiTest {
    public static void main(String[] args) {
		int res = fabonacii(40);
		System.out.println(res);
		print(40);
	}
	
    /**
     * 斐波那契数列的第n项
	 *  递归算法
	 *  1，1，2，3，5，8.。。
     * @param n
     * @return
     */
	public static int fabonacii(int n) {
		if(n < 1) {
			throw new RuntimeException("输入的参数不合法");
		}
		if(n == 1 || n == 2) {
			return 1;
		}else {
			return fabonacii(n-1)+fabonacii(n-2);
		}
	}
	
	/**
	 * 输出前n项斐波那契数列
	 * @param n
	 */
	public static void print(int n) {
		for (int i = 1; i <= n; i++) {
			System.out.print(fabonacii(i)+" ");
		}
	}
}
	